package com.tanhua.dubbo.api.mongo;

import com.tanhua.model.mongo.UserLike;
import com.tanhua.model.vo.PageResult;

import java.util.List;

/**
 * 用户喜欢服务接口
 */
public interface UserLikeApi {
    /**
     * 喜欢 或 不喜欢 记录
     * @param userLike
     * @return
     */
    boolean save(UserLike userLike);

    /**
     * 分页查询我关注的用户
     * @param page
     * @param pageSize
     * @param userId
     * @return
     */
    PageResult<UserLike> findMyLove(Long page, Long pageSize, Long userId);

    /**
     * 分页查询相互喜欢列表
     * @param page
     * @param pageSize
     * @param userId
     * @return
     */
    PageResult<UserLike> eachLove(Long page, Long pageSize, Long userId);

    /**
     * 取消喜欢
     * @param userId
     * @param uid
     */
    void deleteLove(Long userId, Long uid);


    /**
     * 互相喜欢，喜欢，粉丝 - 统计
     *
     */


    Integer countById(Long userId);


    Integer findByUserId(Long userId);

    Integer findByLikeUserId(Long userId);

    /**
     * 我的访客中需要个isLike属性
     * @param userId
     * @return
     */
    List<UserLike> findByIdss(Long userId, List<Long> visitorsIds);



    /**
     * 粉丝列表分页查询
     */
    PageResult<UserLike> fansListPage(Long page, Long pageSize, Long userId);



    /**
     * 粉丝喜欢 isLike
     * @param
     * @return
     */
    void loveFansList(Long likeUserId, Long userId);
}
